package com.example.demo.mapper;

import com.example.demo.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

// 数据持久层 为接口
@Mapper
public interface UserMapper {
    // resultType
    List<UserInfo> getAll();

    int add(UserInfo userInfo);

    int add2(UserInfo userInfo);
    // 动态 SQL if的使用：解决非必填项的插入数据的问题
    int add3(String username,String password,String p,Integer state);
    // 动态SQL trim的使用：解决全部都是非必填项的数据插入的问题
    int add4(String username,String password,String p,Integer state);
    int updatepassword(UserInfo userInfo);

    int del(Integer id);

    List<UserInfo> findbyname(String name);
    // resultMap
    List<UserInfo> getAll2(String order);
    // 多对多查询
    List<UserInfo> getAll3();
    List<UserInfo> findListByName(String name);

    // 动态SQL where的使用：解决 where 查询条件可能为空的情况
    // 需要搭配 if 使用
    List<UserInfo> login(String username,String password);

    // 动态SQL foreach 标签的使用
    int deleteByIds(List<Integer> ids);
}
